Automated musical instruments, such as pianos, are well known in the art. Such instruments utilize a controller to deliver music sequences or articulation events to mechanical actuators, which then act to move keys or strike strings to produce available music. There have been a number of attempts to have an automated instrument play in synchronization or accompaniment with a prerecorded CD or hard drive. Such attempts are described in U.S. Pat. Nos. 5,138,925, 5,300,725, 5,148,419 and 5,313,011. The assignee of the present invention developed and markets under the name Pianomation, a number of automated acoustic piano systems and electronic devices, generally known as a controller, to drive them. Over time, the media from which the controller sourced its music sequences has expanded from authored Audio CDs to floppy discs, ISO-9660 CD and DVD drives, Compact Flash and Secure Digital cards. One skilled in the art will recognize that there are many ways to deliver the music sequences, such as MIDI files, to the customer and ultimately to the controller of the automated musical instrument.
In the Assignee's early products for playing the automated piano in synchronism with a CD, the CD media contained music sequences that were pre-synchronized to a digital accompaniment music track encoded as linear PCM. Several products currently on the market have the capability to synchronize music sequences, such as MIDI sequences, to commercial CD releases for the purpose of synchronizing the automated acoustic piano with the commercial CD audio performance. It became desirable, then, to synchronize the automated piano to a DVD audio/video performance as well. However, as one skilled in the art is aware, the data structure of a commercial CD and a DVD are not the same.
The following terms and definitions are used in this specification. The definitions included herein are to add meaning to terms and are not meant to limit or otherwise supplant meanings that are understood by those skilled in the art.                MIDI—Acronym for Musical Instrument Digital Interface. MIDI is a music industry standard for digitally communicating musical instrument articulation events as a sequence of one or more bytes per event. The standard includes mechanical, electrical and byte signaling specifications.        MIDI Interface—A physical interface across which MIDI bytes are sent and/or received.        MIDI Event—A byte sequence that encodes a single musical instrument articulation event such as ‘key on’ or ‘sustain pedal depressed.’        MIDI Sequence—A chronological sequence of time-stamped MIDI events that encapsulates a performance of one or more musical instruments.        MIDI Sequencer—A device that plays a MIDI Sequence in real time for the purpose of reproducing a musical performance.        Standard MIDI File (SMF)—A music industry standard for storing and retrieving MIDI Sequences to and from a digital data file commonly referred to as MIDI file.        Pianomation—A system for translating MIDI events to electro-mechanical activity for the purpose of automating an acoustic piano, or other automated musical instrument.        Controller—An electronic device used to drive Pianomation with music sequences, such as MIDI Events from various media.        DVD—Acronym for the consumer electronics Digital Video Disc standard and media.        DVD Player—A device that plays DVDs commonly a stand alone consumer electronics device.        DVD Player Subsystem—An electronic Subsystem used to playback DVDs such as an integrated DVD player ASIC related electronic components contained within a larger system such as a Pianomation Controller.        Music Sequence—A term used in this application to generically refer to a chronological sequence of time-stamped digital musical instrument articulation events that encapsulates a performance of one or more musical instruments. This could be a SMF, a MIDI Sequence, or an otherwise encoded sequence that achieves the same objective.        Sync-Along DVD (SAD)—The technique described herein for synchronizing a music sequence to a DVD Player or DVD Player Subsystem.        Sync-Along DVD Device (SADD)—The device that implements the SAD technique. This device can either attach to or be contained within a Controller.        AC-3—The Dolby Labs standard for compressing and encoding one to six channels of digital audio at a sample rate of 48 kHz. Audio on Region-1 (and other) DVDs is encoded as AC-3.        S/PDIF—Acronym for Sony/Panasonic Digital Interface Format. S/PDIF is an electronics industry standard that originally specified a physical and digital communication protocol for passing linear digital audio over a coaxial cable. The standard was expanded to allow the delivery of AC-3 and other compressed audio packets.        S/PDIF Listening Device—A term used by this document to refer to a S/PDIF receiver with intelligence to parse, qualify and time the received S/PDIF data stream.        AC-3 Stream—A time-sequential flow of AC-3 packets, either on a S/PDIF data link or on DVD media.        DTS—A standard more recent that AC-3 that is also used for DVD compressed, multi-channel audio encoding.        MPEG-2—A term used by this document and other literature to refer to MPEG-1 Layer-2 compressed, multi-channel audio encoding.        PCM—Acronym for Pulse Code Modulation. This term refers to the linear digital encoding of instantaneous audio amplitude at a constant sample rate. This is also referred to as uncompressed digital audio.        Wad—a file that contains information needed to synchronize the musical instrument to the DVD. The wad contains:                    a MIDI sequence for each song of the DVD. This is in the form of a type-0 Standard MIDI file.            The AC-3 start signatures for each song on the DVD. The signature is simply a short, generally 12 to 32 bytes, byte sequence that is unique to each song across all of the AC-3 on the DVD.            a signature index indicating the AC-3 packet to which each signature belongs.            DVD title text and song name text for each song on the DVD. The title text is used to associate the wad with a DVD. This text is displayed as the user dials through wad files on the user interface. The song name text is displayed when a song's signature is recognized and the MIDI sequence for that song begins playback.            Header information indicating the size of the wad, the number of songs contained, and the signature length used for the wad.                        
In the assignee's prior CD implementations, the controller, through use of a CD drive and subsystem incorporated into the controller, acts as both the MIDI Sequencer and the CD playback device, so the controller has inherent and immediate knowledge of what CD audio track is being played and what that track's time progress is.
For DVD system described herein, the DVD Player or DVD Player Subsystem is electronically and logically independent from the controller, thus the controller does not issue commands to the DVD player. Because of this independence, the controller must derive some way of remotely knowing what audio performance selection is currently being played by the DVD Player or player subsystem and what the time progress is within the DVD audio performance in order for it to properly and accurately synchronize a Music Sequence to it. It does this by monitoring an output of the DVD player.